1. Field of the Invention
The present invention relates to random number generating circuits, and more specifically to a method and apparatus for generating random numbers from random analog signals without being affected by interfering signals.
2. Related Art
Random numbers are used in many applications, ranging from simple number guessing games, lotteries, to more serious applications such as cryptography. For games, a random number generator may consist of the rolling of a dice. For lotteries, a typical random number generator consists of the use of equally weighted balls with number written on each. Balls are typically blown into the air by turbulent air flow and several balls are randomly drawn out from the air. The numbers written on the drawn balls generally represent random numbers.
In the field of cryptography, random numbers are used to derive keys. In a typical cryptography application, readily understandable plaintext is processed at a source end to disguise the information underlying the plaintext. Such processing of plaintext is referred to as encryption and the result of the processing may be referred to as ciphertext. The ciphertext may then be processed at a receiving end to recover the plaintext The recovery process is referred to as decryption. By encrypting the plaintext, the plaintext may be transmitted securely in the sense that an unknown third party may not be able to decipher the underlying information.
A key generally refers to a number which may be used for functions such as encryption, decryption, authentication (to verify the origin of the ciphertext) or the like as is well known in the relevant arts. Some encryption technologies are described in a book entitled, "Applied Cryptography", by Bruce Schneier, ISBN Number: 0-471-11709-9, which is incorporated into the present application in its entirety herewith.
Random numbers are often generated from random signals. A typical random number generator circuit starts with a random signal source for generating random signals. Examples of random signal sources are resistors and Zener diodes. The generated random signals are typically of low voltage and low current, and are commonly amplified before they can be used to generate a useful digital output. The random analog signal can be sampled at different time points to generate digital data. The digital data may itself represent a random number, or several samples or digital data may be combined to form a random number with several digits.
One problem with generating random numbers from random signal sources is that interference may introduce non-random components into the signal ("contaminated signal") used for generating the key. As a result, non-randomness may be introduced into the numbers generated as random numbers. In general, such non-randomness may simplify the decryption of ciphertext, and may vulnerable to successful decryption by third parties.
Interference may be particularly problematic in devices such as modems used in computer systems. Modems may use keys for cryptography. The modems are typically implemented on a circuit board close to an electrical power source. The power source may emit the interference signals. Other external sources such as lights may introduce interference signals as well.
There are several well-known methods to eliminate these interference signals. For instance, if the frequency of the interfering signal is known, then by setting the sampling rate to be the same as that of the interfering signal, the interfering signal is constant for all sampling points. However, the frequency of the interfering signal may not be known or change over time, and thus the solution may be unacceptable in several situation.
An alternate solution to the interference problem is to isolate the circuit from the interference. For example, random number generating circuits may be encapsulated within a metal container. However, such metal container adds significant cost to the overall random number generator, and may thus be undesirable.
Therefore, what is desired is a low cost random number generator that is capable of rejecting interference, which may introduce non-randomness.